您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

一种基于多跳的移动组成员管理方法

  • 申请号:CN200810224360.4 申请公布号: CN101383776A
  • 申请日: 2008-10-17 申请公布日: 2009-03-11
  • 申请(专利权)人: 专利代理机构: 北京正理专利代理有限公司
  • 分类号:H04L12/56;H04L12/18;H04L29/08

专利介绍

本发明涉及一种基于多跳的移动组成员管理方法,其构成是:对IGMP/MLD协议进行扩展,IGMP/MLD主机端扩展:主机端根据移动节点移动状态设置转发范围,让IGMP/MLD消息携带移动节点的移动状态信息,IGMP/MLD路由器端扩展:在组播状态信息中增加移动节点标识和组播转发状态标识,多跳组管理协议的工作流程:执行组管理协议的路由器创建移动组播状态,移动节点根据自身的移动状态设置生成多跳MLD报告消息,该报告消息须携带移动节点加入的组播组地址,移动节点的位置信息以及移动节点的身份信息等。为移动节点构建组成员关系,从而提供了多跳的移动组成员管理。1、一种基于多跳的移动组成员管理方法,其特征在于:针对目前使用 的IGMP/MLD协议进行扩展,包括IGMP/MLD主机端、IGMP/MLD路由器 端扩展和多跳组管理协议; IGMP/MLD主机端扩展: IGMP/MLD主机端根据移动节点的移动状态,设置不同的转发范围, 从而修改封装IGMP/MLD消息的跳限; IGMP/MLD路由器端扩展: 在组播状态信息中增加移动节点标识和组播转发状态标识,移动节点标 识用于记录移动节点的身份信息和位置信息,组播转发状态标识用于控制组 播数据的转发; 多跳组管理协议的工作流程: (1)IGMP/MLD查询者捕获组成员报告消息; (2)IGMP/MLD查询者收到该消息后首先判断该消息是为属于多跳组成 员报告消息,若不是则执行传统的组管理协议即IGMP/MLD;若是,则检 测是否存在对应的移动组播状态; (3)若IGMP/MLD查询者存在对应的组播状态,则更新移动组播状态, 转到步骤6;否则,IGMP/MLD查询者创建对应的移动组播状态; (4)IGMP/MLD查询者检查根据该报告消息获取移动节点的位置信息; (5)IGMP/MLD查询者根据移动节点的位置信息,判断移动节点是否位 于当前与IGMP/MLD查询者直连的链路上,若移动节点位于当前链路,则 转发组播数据,否则,只建状态不转发数据; (6)IGMP/MLD查询者检测该多跳组成员报告消息的跳数是否为0,若跳 限为0,则转到步骤2;否则,则转发给其他与该IGMP/MLD查询者直连的 IGMP/MLD查询者上。 技术领域 本发明涉及移动互联网的移动组播技术,特别是指一种基于多跳的移动 组成员管理方法。结合移动节点的运动状态提供有效的移动组播服务支持。 背景技术 随着移动互联网技术的发展,移动组播技术研究成为一个研究热点。移 动组播技术在固定组播和移动性支持协议的基础上提供对移动组播成员的 支持。文献错误!未找到引用源。提出了双向隧道BT(Bi-directionalxa0Tunneling) 和远程加入RS(Remotexa0Subscription)等两种基本的移动组播方法。BT方法 基于移动IP构建的单播隧道传输组播数据,而RS方法则是在外地网络重新 加入组播组。BT方法存在着组播路由不优化、组播隧道聚合等问题,而RS 方法则存在着加入延时过长、丢包严重等问题。为此,一些折中的组播方法 相继出现,文献错误!未找到引用源。对这些方法进行了总结分析,结果表 明这些方法都存在着不同程度上的缺陷。从目前的研究来看,现有的移动组 播方法侧重于通过各种组播代理选择算法,快速重构组播转发路径,而缺少 对基本组播相关协议的移动性研究。组播技术具体包括组播路由协议和组成 员管理协议。其中,组播路由协议用于构建组播转发树,而组成员管理协议 则用于维护组播成员关系。现有的组成员管理协议包括IPv4网络中的 IGMPv1错误!未找到引用源。/v2错误!未找到引用源。/v3错误!未找到 引用源。,以及IPv6网络中的MLDv1错误!未找到引用源。和MLDv2错 误!未找到引用源。都是针对固定组成员,用于维护固定节点的动态组成员 关系。为了提供对移动组成员的支持,出现了一些基于互联网组管理协议 IGMP(Internetxa0Groupxa0Managementxa0Protocol)、组播侦听发现MLD(Multicast Listenerxa0Discovery)的IGMP/MLD协议扩展的方法。但是,这些方法都是基 于传统单跳的IGMP/MLD协议,通过快速组播加入算法来减少组播中断延 时,缺少对移动节点组成员的有效管理。 IGMP/MLD协议用于发现与路由器直连的链路上存在那些组播侦听者, 并通过组播路由协议来构建组播转发树。IGMP/MLD是一个不对称的协议, 分为路由器端功能和主机端功能。路由器端功能在所直连的链路上收集组播 组信息并建立组播状态。主机端功能则通过发送报告消息和完成消息来加入 和离开组播组。 当前,IGMP协议有IGMPv1、IGMPv2和IGMPv3等三个版本,新版本 先后兼容。MLDv1/v2协议分别由IGMPv2和IGMPv3协议发展而来,他们 ICMPv6的一个子集,MLDv1/v2的消息类型包括130、131、132和143,所 有MLD消息都采用链路本地地址作为源地址。IGMP/MLD消息封装在逐跳 选项头中并通过Routerxa0alert子选项(该选项用于提醒传输沿途上的路由器 检查数据包的内容)强制传输路径上的路由器进行消息的检查和处理,消息 的默认跳限为1。 IGMP/MLD协议的设计思想是想把组成员关系处理限制在本地链路上, 防止组成员关系的泄露和扩散。这一点有助于减少网络中冗余信息的处理开 销,但却限制了对移动组成员的支持。若在移动组播方法中直接采用传统 IGMP/MLD协议,将会造成很大的延时(MLDv1中大约为67秒)错误!未找 到引用源。。这是因为移动组成员不仅需要等待链路层和网络层切换,还需 要等待外地网络定期发送的查询消息,通过应答该消息来重新加入到组播 组,从而造成严重的丢包问题。 为了优化IGMP/MLD协议的性能,一些改进方案相继出现。I.Romdhani 等错误!未找到引用源。提出了自适应组成员管理协议。在该方法中,家 乡代理自适应的调节MLD消息的发送周期来解决组成员管理协议周期性查 询带来的功耗和延时问题。Kim和Han提出了组播切换代理MHA(Multicast Handoffxa0Agent)错误!未找到引用源。来减少IP组播的切换延时,MHA用 于保存移动节点的组成员信息。当移动节点移动到另一个子网时,MHA迅 速的发送未请求的报告消息以减少加入延时。此外,C.Jelger等错误!未 找到引用源。引入了MLDxa0hold消息用于维护移动成员的组状态信息。当移 动节点移到外地后,它先通过BT方法获得组播数据,然后再在外地网络发 起组播组加入过程。一旦移动节点从外地获取组播数据,则发送MLDxa0hold 消息给家乡代理,由家乡代理保存移动节点的组状态,以便下次切换时继续 转发组播数据。最近,H.Santos等错误!未找到引用源。提出了组播上下文 传输框架用于在相邻的接入路由器之间转移组播状态信息,减少组播服务中 断时间。 现有技术的技术方案如下: 文献错误!未找到引用源。引入了MLDxa0hold消息用于维护移动成员的 组状态信息。当移动节点移到外地后,它先通过双向隧道方法获得组播数据, 然后再在外地网络发起组播组加入过程。一旦移动节点从外地获取组播数 据,则发送MLDxa0hold消息给家乡代理,由家乡代理保存移动节点的组状态, 以便下次切换时继续转发组播数据。 假设移动节点到达一个新的外地网络,图1展示了该方法的具体过程, 相关实体的操作如下所示: (1)移动节点同时向外地网络和隧道发送MLD报告消息,通过隧道向 家乡代理发送MLD报告消息; (2)外地网络的移动路由器接收到报告消息后,执行组播树的建立过 程; (3)家乡代理接收到报告消息后,通过隧道直接转发组播数据给移动节 点; (4)移动节点接收从家乡代理发送过来的组播数据后,检测是否收到从 外地网络直接接收到组播数据; (5)一旦移动节点从外地网络接收到组播数据,则向家乡代理发送 MLDxa0hold消息,停止数据转发但保持组播状态。 现有技术的缺点如下: 该方法通过引入MLDxa0hold消息实现从两个方向接收组播数据来减少切 换过程中的丢包,在一定程度上提高了组播服务质量。但是,该方法存在如 下不足: (1)要求家乡代理时刻保持组播状态,增加了家乡代理的负担; 该方法只有在外地网络支持组播时才能获得优化性能; (2)在执行组播数据流切换时存在同步问题,即从家乡代理获得的组 播数据和从外地网络获得的数据之间可能不同步。 发明内容 本发明的目的在于避免上述现有技术中的不足之处而提供一种基于多 跳的移动组成员管理方法,改变了基于传统单跳的组播管理协议,提出了一 种基于多跳的移动组成员管理方法,结合移动节点的运动状态提供有效的移 动组播服务支持。彻底解决了现有组成员管理协议在处理移动组成员存在的 加入延时大、丢包严重等问题。 本发明的目的可以通过以下措施来达到: 一种基于多跳的移动组成员管理方法,针对目前使用的IGMP/MLD协 议进行扩展,包括IGMP/MLD主机端、IGMP/MLD路由器端扩展和多跳组 管理协议; IGMP/MLD主机端扩展: IGMP/MLD主机端根据移动节点的移动状态,设置不同的转发范围, 从而修改封装IGMP/MLD消息的跳限; IGMP/MLD路由器端扩展: 在组播状态信息中增加移动节点标识和组播转发状态标识,移动节点标 识用于记录移动节点的身份信息和位置信息,组播转发状态标识用于控制组 播数据的转发; 多跳组管理协议的工作流程: (1)IGMP/MLD查询者捕获组成员报告消息; (2)IGMP/MLD查询者收到该消息后首先判断该消息是为属于多跳组成 员报告消息,若不是则执行传统的组管理协议即IGMP/MLD;若是,则检 测是否存在对应的移动组播状态; (3)若IGMP/MLD查询者存在对应的组播状态,则更新移动组播状态, 转到步骤6;否则,IGMP/MLD查询者创建对应的移动组播状态; (4)IGMP/MLD查询者检查根据该报告消息获取移动节点的位置信息; (5)IGMP/MLD查询者根据移动节点的位置信息,判断移动节点是否位 于当前与IGMP/MLD查询者直连的链路上,若移动节点位于当前链路,则 转发组播数据,否则,只建状态不转发数据; (6)IGMP/MLD查询者检测该多跳组成员报告消息的跳数是否为0,若跳 限为0,则转到步骤2;否则,则转发给其他与该IGMP/MLD查询者直连的 IGMP/MLD查询者上。 本发明相比现有技术具有如下优点:本发明提出的基于多跳的移动组成 员管理方法,通过扩展现有组成员管理IGMP/MLD协议的主机端和路由器 端功能,创建了移动组播状态,通过移动节点的位置信息和身份信息进行区 分,并通过增加移动组播转发状态来控制组播数据的转发,可以从根本上为 移动节点构建组成员关系,从而解决了传统组管理协议不能提供移动节点组 管理功能的问题,可以进一步的提高移动组播的性能。 附图说明 图1MLDxa0Hold方法操作流程; 图2MLDv1报告消息扩展格式; 图3多跳MLD报告消息处理流程。 具体实施方式 本发明主要针对目前广泛使用的IGMP/MLD协议进行扩展,主要扩展 了IGMP/MLD消息的传输范围来提供对移动节点的组播支持,其主要功能包 括: (1)IGMP/MLD主机端引入节点移动状态信息来标识节点的移动属性, 例如静止、微移动、中速移动、高速移动等等; (2)IGMP/MLD路由器端根据节点的移动状态,设置不同的转发范围,组 播路由器收到后依据节点的移动状态信息进行转发; (3)IGMP/MLD路由器端扩展IGMP/MLD协议的组播状态记录格式,增 加标识移动节点的选项(例如采用转交地址CoA和家乡地址HoA)以支持 移动组成员管理; (4)IGMP/MLD路由器增加组播转发状态标识,当节点移动到该子网或 子网内有节点加入组播组时转发数据,否则只建状态不转发数据。 IGMP/MLD主机端扩展: IGMP/MLD主机根据移动节点不同的移动状态,设置不同的转发范围, 从而修改封装IGMP/MLD消息的跳限(Hopxa0Limit)。移动节点的移动状态信 息可以根据移动实体的速率进行设置。为了让IGMP/MLD消息携带移动节 点的移动状态信息,本发明扩展了IGMP/MLD报告消息来设置其跳数。 以MLDv1为例,一种扩展方法是扩展消息的代码域即Code域。MLDv1 报告消息的扩展格式如所示。通过扩展Code域来记录MLD消息的跳数。 扩展实例如下所示: 当Code=0,表明是固定节点,源地址用链路本地地址; 当Code=1,表明是低速移动节点,如步行速率; 当Code=2,表明是中速移动节点,如公交车等; 当Code=3,表明是高速移动节点,如汽车、轮船等。 在封装MLD消息时,当Code域的值大于0时,选用单播全局可路由 地址作为源地址,并结合二类路由头来携带家乡地址信息。 IGMP/MLD路由器端扩展: 主要是在组播状态信息中增加移动节点标识和组播转发状态标识。移动 节点标识主要用于记录移动节点的身份信息和位置信息,例如可以采用转交 地址CoA和家乡地址HoA来表示移动节点。组播转发状态标识用于控制组 播数据的转发,置1时转发组播数据,否则只建立状态不转发数据。 多跳组管理协议的工作流程 在具体实现中,执行组管理协议路由器端功能的路由器(一般称为 IGMP/MLD查询者,IGMP/MLDxa0Querier)根据接收到的多跳组成员报告消息 创建移动组播状态。其重点在于移动节点和组播路由器之间处理多跳组成员 报告消息。移动节点根据自身的移动状态设置生成多跳MLD报告消息,该 报告消息须携带移动节点加入的组播组地址,移动节点的位置信息以及移动 节点的身份信息等。IGMP/MLD查询者处理多跳组成员报告消息的具体流 程如图3所示。 具体步骤: (1)IGMP/MLD查询者捕获组成员报告消息; (2)IGMP/MLD查询者收到该消息后首先判断该消息是为属于多跳组 成员报告消息,若不是则执行传统的组管理协议即IGMP/MLD;若 是,则检测是否存在对应的移动组播状态; (3)若IGMP/MLD查询者存在对应的组播状态,则更新移动组播状态, 转到步骤6;否则,IGMP/MLD查询者创建对应的移动组播状态; (4)IGMP/MLD查询者检查根据该报告消息获取移动节点的位置信 息; (5)IGMP/MLD查询者根据移动节点的位置信息,判断移动节点是否 位于当前与IGMP/MLD查询者直连的链路上,若移动节点位于当 前链路,则转发组播数据,否则,只建状态不转发数据; (6)IGMP/MLD查询者检测该多跳组成员报告消息的跳数是否为0, 若跳限为0,则转到步骤2;否则,则转发给其他与该IGMP/MLD 查询者直连的IGMP/MLD查询者上。 本发明提出的基于多跳的移动组成员管理方法主要是针对现有的IGMP 和MLD协议进行扩展,对于其他组管理协议也可以通过类似的方法进行功 能扩展,以实现对移动节点的组成员管理。